package com.bicon.botu.mall.order.entity;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableName;
import com.bicon.botu.core.base.repository.mybatis.UuidBaseEntity;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 总订单实体类
 *
 * @author 李双喜
 * @date 2018/5/14 11:32
 */
@Data
@TableName("order_goods")
public class OrderGoods extends UuidBaseEntity<OrderGoods> {

    private static final long serialVersionUID = 1L;
    /**
     * 总订单id
     */
    @TableField("max_order_id")
    private String maxOrderId;
    /**
     * 订单号
     */
    @TableField("main_order_no")
    private String mainOrderNo;
    /**
     * 订单状态，1：待支付，2：已支付，3：已发货，4：交易成功 5：交易关闭，6：取消订单 7交易中
     */
    @TableField("pay_state")
    private Integer payState;
    /**
     * 用户id
     */
    @TableField("user_id")
    private String userId;
    /**
     * 支付方式：0余额 1微信 2支付宝 3银行卡
     */
    @TableField("pay_way")
    private Integer payWay;
    /**
     * 支付时间
     */
    @TableField("pay_time")
    private Date payTime;
    /**
     * 支付来源  0 IOS 1 安卓
     */
    @TableField("order_source")
    private Integer orderSource;
    /**
     * 店铺id
     */
    @TableField("store_id")
    private String storeId;
    /**
     * 运费金额
     */
    private BigDecimal freight;
    /**
     * 配送方式  0快递物流  1上门自提
     */
    @TableField("distribution_way")
    private Integer distributionWay;
    /**
     * 买家留言
     */
    @TableField("buyer_message")
    private String buyerMessage;
    /**
     * 我的发票id  开发票和不开发票
     */
    @TableField("invoice_id")
    private String invoiceId;

    /**
     * 分组订单编号
     */
    @TableField("order_goods_no")
    private String orderGoodsNo;
    /**
     * 物流公司
     */
    @TableField("logistics_company")
    private String logisticsCompany;

    /**
     * 取消订单原因
     */
    @TableField("cancel_order")
    private String cancelOrder;

    /**
     * 收款id
     */
    @TableField("order_receipt_id")
    private String orderReceiptId;

    /**
     * 发货id
     */
    @TableField("order_deliver_id")
    private String orderDeliverId;

    /**
     * 已读、未读状态 0:未读 1:已读
     */
    @TableField("check_status")
    private Integer checkStatus;

    /**
     * 是否评价 默认0 未评价  1已评价
     */
    @TableField("evaluate_state")
    private Integer evaluateState;

    /**
     * 用户账号
     */
    @TableField("account")
    private String account;

    /**
     * 成交时间
     */
    @TableField("deal_time")
    private Date dealTime;

    /**
     * 优惠券id
     */
    @TableField("discount_id")
    private String discountId;

    public OrderGoods(String maxOrderId, String orderGoodsNo, String mainOrderNo, String storeId, int orderSource, int payState){
        this.maxOrderId = maxOrderId;
        this.orderGoodsNo = orderGoodsNo;
        this.mainOrderNo = mainOrderNo;
        this.storeId = storeId;
        this.orderSource = orderSource;
        this.payState = payState;
    }
    public OrderGoods(){

    }

    /**
     * 放入用户Id和对应的账户
     * @param userId    用户Id
     * @param account   用户账户
     */
    public void setUser(String userId, String account){
        this.userId = userId;
        this.account = account;
    }
}
